package com.wsoft.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.wsoft.entity.TsModuleEntity;
import com.wsoft.query.module.ModuleIdQuery;
import com.wsoft.query.module.ModuleInsertQuery;
import com.wsoft.query.module.ModuleListQuery;
import com.wsoft.query.module.ModuleUpdateQuery;
import com.wsoft.vo.ModuleNameVO;

import java.util.List;

/**
 * <p>
 * 模块表 服务类
 * </p>
 *
 * @author Z001
 * @since 2024年12月17日 09:48:45
 */
public interface ITsModuleService extends IService<TsModuleEntity> {

    /**
     * 新增模块
     * @param query
     * @return
     */
    boolean insertModule(ModuleInsertQuery query);

    /**
     * 修改模块
     * @param query
     * @return
     */
    boolean updateModule(ModuleUpdateQuery query);

    /**
     * 获取详情
     * @param id
     * @return
     */
    TsModuleEntity getModuleInfo(Long id);

    /**
     * 删除模块
     * @param id
     * @return
     */
    boolean deleteModule(Long id);

    /**
     * 列表查询
     * @param query
     * @return
     */
    PageInfo<TsModuleEntity> listModule(ModuleListQuery query);

    /**
     * 获取所有模块
     * @return
     */
    List<TsModuleEntity> listAll();

    /**
     * 获取模块名称
     * @param query
     * @return
     */
    List<ModuleNameVO> getModuleName(ModuleIdQuery query);
}
